package test;
import grame.*;
public class snake
{
	public static void regularMove(Entity[]c,Base b)
	{
		Coordinates co1=c[0].getPos(),co2;
		if(c[0].getPos().getX()-1==c[1].getPos().getX())
		{
			if(c[0].getPos().getX()==29)
				b.render(c[0],0,c[0].getPos().getY());
			else
				b.render(c[0],c[0].getPos().getX()+1,c[0].getPos().getY());
		}
		else 
			if(c[0].getPos().getX()==0&&c[1].getPos().getX()==29)
				b.render(c[0],c[0].getPos().getX()+1,c[0].getPos().getY());
		if(c[0].getPos().getX()+1==c[1].getPos().getX())
		{
			if(c[0].getPos().getX()==0)
				b.render(c[0],29,c[0].getPos().getY());
			else
				b.render(c[0],c[0].getPos().getX()-1,c[0].getPos().getY());
		}
		else 
			if(c[0].getPos().getX()==29&&c[1].getPos().getX()==0)
				b.render(c[0],c[0].getPos().getX()-1,c[0].getPos().getY());
		if(c[0].getPos().getY()-1==c[1].getPos().getY())
		{
			if(c[0].getPos().getY()==29)
				b.render(c[0],c[0].getPos().getX(),0);
			else
				b.render(c[0],c[0].getPos().getX(),c[0].getPos().getY()+1);
		}
		else 
			if(c[0].getPos().getX()==0&&c[1].getPos().getX()==29)
				b.render(c[0],c[0].getPos().getX(),c[0].getPos().getY()+1);
		if(c[0].getPos().getY()+1==c[1].getPos().getY())
		{
			if(c[0].getPos().getY()==0)
				b.render(c[0],c[0].getPos().getX(),29);
			else
				b.render(c[0],c[0].getPos().getX(),c[0].getPos().getY()-1);
		}
		else 
			if(c[0].getPos().getY()==29&&c[1].getPos().getY()==0)
				b.render(c[0],c[0].getPos().getX(),c[0].getPos().getY()-1);
		for(int i=1;i<c.length;i++)
		{
			co2=new Coordinates(c[i].getPos().getX(),c[i].getPos().getY());
			b.render(c[i],co1);
			co1=co2;
		}
	}
	public static void main(String[]args)
	{
		Base b=new Base(30,30,20,"snakeTest");
		b.setVisible(true);
		b.setEdges(true);
		Entity[]c=new Entity[3];
		c[0]=new Entity(b);
		b.render(c[0],2,15);
		c[0].makePlayer();
		c[1]=new Entity(b);
		b.render(c[1],1,15);
		c[2]=new Entity(b);
		b.render(c[2],0,15); 
		/*for(int i=1; i<c.length; i++)
		{
			c[i].setTarget(c[i-1]);
			c[i].setChasing(true);
		}
		for(int i=1; i<c.length; i++)
			c[i].setSpeed(10);*/
		while(true)
		{
			regularMove(c,b);
			//c[0].wait(200);
		}

	}
}